﻿using System;
using System.Collections.Generic;
using System.Windows;
using Infrastucture;
using TimeSplicerModule.DomainModels;

namespace TimeSplicerModule.ViewModels
{
    public class TaskViewModel : TaskModel
    {
        private bool _makeActiveTask;
        private bool _assignedUserEnabled;
        private Visibility _makeActiveTaskCheckboxVisibility;
        private Visibility _activateButtonVisibility;
        private bool _activateButtonEnabled;
        private Visibility _suspendButtonVisibility;
        private bool _suspendButtonEnabled;
        private Visibility _completeButtonVisibility;
        private bool _completeButtonEnabled;
        private Visibility _startedDateVisibility;
        private bool _startedDateEnabled;
        private Visibility _completedDateVisibility;
        private bool _completedDateEnabled;

        // need to add occurance types and am pms
        private List<string> _occuranceTypes;
        private List<string> _timesOfDay;



        public bool MakeActiveTask
        {
            get { return _makeActiveTask; }
            set { SetProperty(ref _makeActiveTask, value); }
        }
        public bool AssignedUserEnabled
        {
            get { return _assignedUserEnabled; }
            set { SetProperty(ref _assignedUserEnabled, value); }
        }
        public Visibility MakeActiveTaskCheckboxVisibility
        {
            get { return _makeActiveTaskCheckboxVisibility; }
            set { SetProperty(ref _makeActiveTaskCheckboxVisibility, value); }
        }
        public Visibility ActivateButtonVisibility
        {
            get { return _activateButtonVisibility; }
            set { SetProperty(ref _activateButtonVisibility, value); }
        }
        public bool ActivateButtonEnabled
        {
            get { return _activateButtonEnabled; }
            set { SetProperty(ref _activateButtonEnabled, value); }
        }
        public Visibility SuspendButtonVisibility
        {
            get { return _suspendButtonVisibility; }
            set { SetProperty(ref _suspendButtonVisibility, value); }
        }
        public bool SuspendButtonEnabled
        {
            get { return _suspendButtonEnabled; }
            set { SetProperty(ref _suspendButtonEnabled, value); }
        }
        public Visibility CompleteButtonVisibility
        {
            get { return _completeButtonVisibility; }
            set { SetProperty(ref _completeButtonVisibility, value); }
        }
        public bool CompletedButtonEnabled
        {
            get { return _completeButtonEnabled; }
            set { SetProperty(ref _completeButtonEnabled, value); }
        }
        public Visibility StartedDateVisibility
        {
            get { return _startedDateVisibility; }
            set { SetProperty(ref _startedDateVisibility, value); }
        }
        public bool StartedDateEnabled
        {
            get { return _startedDateEnabled; }
            set { SetProperty(ref _startedDateEnabled, value); }
        }
        public Visibility CompletedDateVisibility
        {
            get { return _completedDateVisibility; }
            set { SetProperty(ref _completedDateVisibility, value); }
        }
        public bool CompletedDateEnabled
        {
            get { return _completedDateEnabled; }
            set { SetProperty(ref _completedDateEnabled, value); }
        }
        public List<string> OccuranceTypes
        {
            get { return _occuranceTypes; }
            set { SetProperty(ref _occuranceTypes, value); }
        }
        public List<string> TimesOfDay
        {
            get { return _timesOfDay; }
            set { SetProperty(ref _timesOfDay, value); }
        }
    }
}
